WebService学习
WebService解决的问题WebService的主流框架SOP协议客户端通过soap访问Service过程
wsdl报文JAXBJAX-WSJAX-RS
WebService解决的问题
不同语言之间、不同系统、不同平台之间的通讯访问和调用。应用程序的集成,不同业务的整合。
WebService的主流框架
webService只是一个天上飞的概念,落地实现的框架类产品有:
Axis1、Axis1XFirecxf(用得多)
SOP协议
基于xml的简易协议,用于http上的信息交换。一次webService的调用,不是方法的调用而是soap消息(xml个格式规范的文档片段)之间的输入输出 例如请求响应如下: 请求消息:
11
lzp
响应消息:
cxf 1022 hello:lzp 11
客户端通过soap访问Service过程
1.客户端到UDDI上寻找Service目录 2.客户端获得WSDL文件 3.客户端按照WDSL文件的约束和规范创建SOAP客户端请求消息 4.客户端通过SOAP访问Service
wsdl报文
wsdl:definitions
keyvaluexmlns:tns相当于java里面import包名的反转namejava中的服务接口实现类+Service后缀targetNamespace命名空间和java的package包名相反其他无需关心,w3c协议的基本内容
wsdl:types 通信消息的数据结构的抽象类型化定义。使用Types所定义的类型来定义整个消息的数据结构。wsdl:portType portType = 接口 operation = 接口中定义的方法wsdl:service 负责将网络通信地址赋给一个具体的绑定
JAXB
JAXB是Java Architecture for XML Binding的缩写。可以将一个Java对象转变成为XML格式,反之亦然。
JAX-WS
JAX-WS可以完成wsdl到java的转换,即wsdl或合同优先,可以简单理解为根据wsdl生成java客户端代码的工具。
JAX-RS
JAX-RS是JAVA EE6 引入的一个新技术。 JAX-RS即Java API for RESTful Web Services,是一个Java 编程语言的应用程序接口,支持按照表述性状态转移(REST)架构风格创建Web服务。已经不是wsdl协议了不要和上面内容混淆写成JAX-RS后调用接口方式JAX-WS生成代码了,要用httpclient正常的接口请求调用。 参考材料 视频 https://www.bilibili.com/video/BV1xE411d7hY/?p=7&spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=d4d473abbc7c6449c2f6a13e3f16728e 博客 https://www.cnblogs.com/mangoubiubiu/p/14839248.html 实验证代码 https://gitee.com/peterLiz/web-service.git
|